Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Design #196

Merged
merged 39 commits into from
Nov 4, 2024
Merged

New Design #196

merged 39 commits into from
Nov 4, 2024

Conversation

GeorgeBarlow
Copy link
Collaborator

@GeorgeBarlow GeorgeBarlow commented Nov 1, 2024

New Design

This PR outlines the changes made in the new-design branch

Preview:

  • Windows:
    1D8e0i

  • macOS:

Overview of changes

  1. Custom Title Bar
  2. Removal of sidebar in favor of a new RX list view
  3. Clearer and more understandable screens
  4. General overhaul of CSS classes and components to improve alignment and UX
  5. Reworked settings modal to be more responsive and handle content overflow better with smaller viewports
  6. Improved mini mode, featuring both transparency mode, automatic resizing to prevent reduced empty space, and better use of @media to prevent users unnecessarily using mini mode when not connected

Custom Title Bar

  • The main benefit of having a custom title bar allows us to maintain the TrackAudio branding throughout the whole window space, giving a more professional feel to the application. It also allows us to make use of all the space in the window, which wasn't previously possible with the default and more limiting title bar provided by the OS.
  • The title bar component provides an easy way to add title bar elements which can have a priority, so that when the viewport is reduced, the title bar adjusts to show the most important elements.
  • Windows:
    2F3e6b
    4j2g45

Removal of the Previous Sidebar

  • While the previous sidebar was very useful, it included elements that would be better represented elsewhere in the app to maximize the available space across the application
  • Starting with add a station/VHF frequency, this has now been moved to a title bar element button to the left of the disconnect button represented by the + icon.
    8k3c4T
    Click this icon now shows a new modal where the previous features can now be accessed.
    389C47

I feel like this change still provides the same level of ease to access as it previously did, especially since this action is probably not being used all the time but maybe at the start or a few times during the course of a controlling session.

  • The last RX element has now been moved to the top right of the main radio stack, and now has a new feature whereby you can show the full list of all receiving stations and their most recently received station callsign by clicking the
    2s7h1Z
    which toggles the sidebar on/off. This can also be set in the settings modal to be always displayed or never displayed depending if you want this feature to be shown on start or not.

  • The radio status element has now been shifted to the focus bar, located at the bottom of the window. It can be used in the same way as before (by clicking on the desired station).
    However, force refresh and delete have now been moved and can be accessed by clicking the title bar element button with the edit icon to the right of the clock.
    6O7x0M
    This allows you to select multiple stations to refresh/delete at one time, by simply clicking on the radio box and then the relevant title bar element button (located to the right of the edit icon) depending on the action you want to take i.e. delete, refresh. To exit this view, simply click the edit button again and you will return to the original view.
    6Z8Q5n

  • For reference, previous sidebar:
    6r7D6m

Improved Screens

  • When disconnected with no network connection:
    924b94

  • When disconnected but have a valid network connection:
    6K9D1B

  • When connected but you're an observer or have no radios populated:
    9l1V53

Settings Modal Rework

  • Minor addition, added a scrollbar to the main body when the settings modal overflows:
    8f3y5S

Reworked Mini Mode

  • Added a new transparency mode, this takes advantage of the OS's native transparent window mode

  • On Windows:

    • Transparency mode, with an aircraft talking:
      6V3E4L

    • Transparency mode, with an aircraft not talking:
      5f025w

    • Non-transparent mode:
      5Z0E8m

  • On macOS:

    • Transparent mode (macOS light mode):
      transparentLight

    • Transparent mode (macOS dark mode):
      transparentDark

  • With all of these views to exit either resize the bar out of mini mode or simply hover and click the resize button:
    9V251z

Auto focus and Resizing Example

@GeorgeBarlow GeorgeBarlow marked this pull request as ready for review November 1, 2024 20:20
…ow sizes and responsiveness + also uniform padding etc + elapsed time
@GeorgeBarlow
Copy link
Collaborator Author

  1. When you toggle into mini-mode, the button for leaving mini-mode is automatically showing over the text and won't go away unless you mouse over the mini-mode window. It should be hidden, or visible then disappear shortly after.

Huh? That is very weird, to be fair since removing the old native title bar I've had weird issues with handling stuff like that primarily since we need to make the container draggable so it can be moved, but that prevents other actions. I will look into this.

  1. "I feel like Connect/Disconnect should be on the right" Yeah, I hear ya. Maybe put everything except settings and connect/disconnect on the left? I'm honestly not sure the right answer here, but at the moment things just feel "there" instead of "thoughtfully there".

Yeh I'll do some experiment in a bit

  1. "I'm happy to discuss whether to keep the disconnect/connect button visible instead of removing it when a connection cannot be initiatied, the alternative would be something along the lines of this:" Ooooh I do like that. Then people won't be wondering where the hell the connect button is.

Sounds like a plan

  1. "That's funny it was actually MAIN for a long time but I recently changed it back". Whyyyyyyyy 😂

ahaha we can revert this!

@GeorgeBarlow
Copy link
Collaborator Author

I use mini-mode extensively and however it worked in the current release seemed fine, I never had any issues with it or wished it showed some state in a different way.

Not sure how much I changed of it, I don't think that much mainly just the resizing of the window etc. I will have a look!

@neilenns
Copy link
Contributor

neilenns commented Nov 2, 2024

I use mini-mode extensively and however it worked in the current release seemed fine, I never had any issues with it or wished it showed some state in a different way.

Not sure how much I changed of it, I don't think that much mainly just the resizing of the window etc. I will have a look!

I don't think you did TBH. I'm controlling now, will let you know next time someone talks :D

@neilenns
Copy link
Contributor

neilenns commented Nov 2, 2024

Something doesn't seem to be working with the disconnect logic now. I've long ago disconnected from CRC and TrackAudio still shows me as connected.

Also I just realized there are two clocks in the UI, and they aren't showing the same time:

image

@GeorgeBarlow
Copy link
Collaborator Author

GeorgeBarlow commented Nov 2, 2024

Something doesn't seem to be working with the disconnect logic now. I've long ago disconnected from CRC and TrackAudio still shows me as connected.

Also I just realized there are two clocks in the UI, and they aren't showing the same time:

image

The bottom 'clock' is an elapsed time connected, and for the disconnect logic I don't believe I changed anything to do with that, but I will look into it.

Regarding the disconnect feature, this will have to be actioned and resolved in a separate PR as I've noticed it seems to be an issue with the onTimer function inside RemoteData.cpp

Refer to recent commit for QoL improvements and screenshots in the initial post. Opted to use:
image
image2
this icon better displays the fact a sidebar will be opened on click

@neilenns
Copy link
Contributor

neilenns commented Nov 2, 2024

The bottom 'clock' is an elapsed time connected,

Perhaps add "Connected: " to the front of it? It's totally not clear, I thought one was supposed to be local time and the other zulu time or something.

@neilenns
Copy link
Contributor

neilenns commented Nov 2, 2024

Regarding the disconnect feature, this will have to be actioned and resolved in a separate PR

I've never had any issues with it until I was testing this PR. Maybe the UI changes caused some timing changes elsewhere?

</div>
<div className="d-flex justify-content-center radio-sub-text text-muted text-center">
Click the connect button to establish a connection to AFV.
Click the connect button to establish a connection to the VATSIM audio network.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love the string changes! They're slightly inconsistent though, this one calls it "the VATSIM audio network" and the other one calls it "the VATSIM network". Pick one and use it in both places.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the VATSIM network refers to FSD, and the VATSIM audio network refers to AFV

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do users know the difference? Does it matter to them?

@GeorgeBarlow
Copy link
Collaborator Author

new I believe this is now final form

@neilenns
Copy link
Contributor

neilenns commented Nov 2, 2024

Found a bug with the delete button:

  1. Press edit
  2. Press delete

Result: All the stations are removed, including UNICOM and GUARD
Expected result: Nothing gets removed since I didn't have anything selected

There was no warning this would happen either, I had to disconnect and reconnect to get UNICOM and GUARD back.

@neilenns
Copy link
Contributor

neilenns commented Nov 2, 2024

new I believe this is now final form

Been playing with this while controlling, I like the new button placement in the title bar. What do you think about swapping the + and edit button positions? For some reason I keep clicking edit when I mean +. My brain seems to expect the most common thing (+) on the far left. Maybe it's just me?

@GeorgeBarlow
Copy link
Collaborator Author

Regarding the disconnect feature, this will have to be actioned and resolved in a separate PR

I've never had any issues with it until I was testing this PR. Maybe the UI changes caused some timing changes elsewhere?

Well

Regarding the disconnect feature, this will have to be actioned and resolved in a separate PR

I've never had any issues with it until I was testing this PR. Maybe the UI changes caused some timing changes elsewhere?

The React side shouldn't interfere with the onTimer function as I'm pretty sure Poco runs the onTimer functions on a separate thread, I'm also now struggling to reproduce this issue. Next time this happens, post a copy of your trackaudio.log file, or if you still have it upload it if you can.

Look to see if the updateSessionStatus functions logs Disconnected from the network because no active connection was found in the slurper data., if it does we can then say its a UI issue but when I had it I'm sure I wasn't even getting as far as the UI.

@neilenns
Copy link
Contributor

neilenns commented Nov 2, 2024

Next time this happens, post a copy of your trackaudio.log file, or if you still have it upload it if you can.

This time it disconnected fine, but I was in mini-mode and couldn't get out of it. The toggle button would show, but I guess it was layered underneath the error message and wasn't clickable.

image

TBH, not sure if this is an existing bug or a new one in this branch, but mentioning it for completeness.

@GeorgeBarlow
Copy link
Collaborator Author

GeorgeBarlow commented Nov 2, 2024

Next time this happens, post a copy of your trackaudio.log file, or if you still have it upload it if you can.

This time it disconnected fine, but I was in mini-mode and couldn't get out of it. The toggle button would show, but I guess it was layered underneath the error message and wasn't clickable.

image

TBH, not sure if this is an existing bug or a new one in this branch, but mentioning it for completeness.

I've fixed that issue so on disconnect it will toggle out of mini mode.

The issue with not disconnecting properly once you've disconnected from FSD is purely because of slurper still telling us you're logged in. It's out of our control when it reports what, apparently they have had a few issues over the past days with their hosting provider so maybe the issue is just exacerbated by that. It should normally reflect changes within 10 seconds but can take up to 2 minutes in extreme cases where slurper has missed the deletion of the user from FSD and takes action into its own hands and deletes the user from the cache.

src/main/index.ts Outdated Show resolved Hide resolved
@pierr3 pierr3 merged commit 401016b into main Nov 4, 2024
5 checks passed
@pierr3 pierr3 deleted the new-design branch November 4, 2024 18:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants